﻿var validator;
//初始化日期控件（需要控制后面日期不能大于前面日期）
function datePluginInit(){
	 $('#startDate').datepicker({
		 format : 'yyyy-mm-dd',
		 language : 'zh-CN',
		 autoclose:true,
		 clearBtn : true,
		 todayHighlight : true
	 })
	 //.on("changeDate",function(ev) {
		// $("#endDate").datepicker("setStartDate",ev.date?ev.date:"");
	 //});
	 $('#endDate').datepicker({
		 format : 'yyyy-mm-dd',
		 language : 'zh-CN',
		 autoclose:true,
		 clearBtn : true,
		 todayHighlight : true
	 })
	 //.on("changeDate",function(ev) {
		// $("#startDate").datepicker("setEndDate",ev.date?ev.date:"");
	 //});
}

function validatorInit(){
	/**定义日期比较校验规则**/
	jQuery.validator.addMethod("compareDate", function(value,element,param) {
		var dateId = param[0];
		var paramValue = $(dateId).val();
		var flag = value < paramValue;
		if(flag){
			return false;
		}
		return true;
	}, jQuery.validator.format("截止时间不能早于开始时间！"));
	
	/**定义依赖性空校验规则**/
	jQuery.validator.addMethod("notNullWhenNotNull", function(value,element,param) {
		var dateId = param[0];
		var paramValue = $(dateId).val();
		if(paramValue != ''){
			return value != '';
		}
		return true;
	}, jQuery.validator.format("该项此时不能为空! "));
	
	validator = $("#queryForm").validate({
		rules:{
			startDate:{
				notNullWhenNotNull:["#endDate"]
			},
			endDate:{
				notNullWhenNotNull:["#startDate"],
				compareDate:["#startDate"]
			}
		}
	});
}

function bindInit(){
	//为页码大小选择框绑定改变事件
	$("#pageSizeView").bind("change",function(){
		$("#currentPage").val(1);
		$("#pageSize").val($("#pageSizeView").val());
		submitForm();
	});
}

function datePluginInit1(){
	 $('#startDate').datetimepicker({
		 format : 'yyyy-mm-dd hh:ii:ss',
		 autoclose:true,
		 minView: 0,
		 language : 'zh-CN',
		 minuteStep:1
	 }).on("changeDate",function(ev) {
		 $("#endDate").datetimepicker("setStartDate",ev.date?ev.date:"");
	 });
	 $('#endDate').datetimepicker({
		 format : 'yyyy-mm-dd hh:ii:ss',
		autoclose:true,
		 minView: 0,
		 language : 'zh-CN',
		 minuteStep:1
	 }).on("changeDate",function(ev) {
		 $("#startDate").datetimepicker("setEndDate",ev.date?ev.date:"");
	 });
}

//重置表单
function resetForm(){
	//重置域
	$("#logInfo").val("");
	$("#startDate").val("");
	$("#endDate").val("");
	$("#className").val("");
	$("#logLeval").val("");
	$("#currentPage").val(1);
	$("#currentPageView").val(1);
	
	//清空表格
	$("#logInfo-tbody").html("");
}

//指定页面跳转
function jump(page){
	//上一页
	if(page == 'pre'){
		var nowpage = Number($("#currentPage").val()) - 1;
		if(nowpage < 1){
		   var nowpage = Number($("#currentPage").val());
		}
		$("#currentPage").val(nowpage);
	//下一页
	}else if(page == 'next'){
		var nowpage = Number($("#currentPage").val()) + 1;
		var maxpage = Number($("#pageCount").html());
		if(nowpage > maxpage){
		   var nowpage = Number($("#currentPage").val());
		}
		$("#currentPage").val(nowpage);
	//最后一页
	}else if(page == 'last'){
		$("#currentPage").val($("#pageCount").html());
	}else{
		var nowpage = Number(page)
		if(nowpage < 1){
			$("#currentPage").val(1);
		}else{
			$("#currentPage").val(page);
		}
	}
	submitForm();		
}

function search(){
	$("#currentPage").val(1);
	submitForm();
}

//提交查询表单
function submitForm() {
	if(!validator.form()){
		return;
	}
	//$("#currentPage").val(1);
	//$("#queryForm").submit();
	$.ajax({
		type : "get",
		dataType : "jsonp",
		jsonp:"callback",    
		jsonpCallback:"success_jsonp",  
		data : $("#queryForm").serialize(),
		/*data : {
			"logLeval":$("#logLeval").val(),
			"className":$("#className").val(),
			"logInfo":$("#logInfo").val(),
			"startDate":$("#startDate").val(),
			"endDate":$("#endDate").val(),
			"currentPage":$("#currentPage").val(),
			"pageSize":$("#pageSize").val()
		},*/
		url : "http://localhost/appLog/queryByParams",
		success : function(result){
			if(result.code=='1' && result.data){
				//填充表格
				$("#logInfo-tbody").html("");
				var prefix = '<td align="center">';
				var lastfix = '</td>';
				var currentPage = result.currentPage;
				var pageSize = $("#pageSize").val();
				$.each(result.data, function (index, bean) {
					if(index%2 == 0){
						var tr = '<tr class="success">'
					}else{
						var tr = '<tr class="warning">'
					}
					tr = tr + prefix + (1+index+(currentPage-1)*pageSize) + lastfix
						+ prefix + bean["logId"] + lastfix
						+ prefix + bean["logTimeStr"] + lastfix
						+ prefix + bean["threadName"] + lastfix
						+ prefix + bean["logLeval"] + lastfix
						+ prefix + bean["className"] + lastfix
						+ prefix + bean["logInfo"] + lastfix  + '</tr>'	
					$("#logInfo-tbody").append(tr);
				});
				//填充当前页码
				$("#currentPage").val(currentPage);
				$("#currentPageView").val(currentPage);
				$("#allCount").html(result.allCount);
				$("#pageCount").html(result.pageCount);
			}else{
				alert('查询失败！！')
			}
		}
	});
}

$(function(){
	//初始化校验规则
	validatorInit();
	//初始化日期控件
	datePluginInit(); 
	//为控件增加绑定事件
	bindInit();
	//提交查询表单
	submitForm();
	
})